import axios from 'axios'
// 配置axios,用来发送异步请求
const instance = axios.create({
    withCredentials: true,
    headers: {
        'X-Requested-With': 'XMLHTTPRequest',
        'Content-Type': 'application/json'
    }
});

// 请求拦截器，每次请求前动态获取token
instance.interceptors.request.use(
    config => {
        // 每次请求前动态获取最新的token
        const token = sessionStorage.getItem("token");
        if (token) {
            config.headers['token'] = token;
        }
        return config;
    },
    error => {
        return Promise.reject(error);
    }
);

// 响应拦截器
instance.interceptors.response.use(
    response => {
        return response.data;
    },
    error => {
        console.error('请求错误:', error);
        // 可以在这里统一处理错误，比如token过期时跳转到登录页
        if (error.response && error.response.status === 401) {
            console.log('未授权，请重新登录');
            // 可以在这里跳转登录页
        }
        return Promise.reject(error);
    }
);

// 导出axios实例
export default instance;